• Augmenting SQLite for Local-First Software 

      Toft Tomter, Iver; Yu, Weihai (Journal article; Tidsskriftartikkel; Peer reviewed, 2021-07-17)
      Local-first software aims at both the ability to work offline on local data and the ability to collaborate across multiple devices. CRDTs (conflict-free replicated data types) are abstractions for offline and collaborative work that guarantees strong eventual consistency. RDB (relational database) is a mature and successful computer industry for management of data, and SQLite is an ideal RDB candidate ...
    • Eventually-Consistent Replicated Relations and Updatable Views 

      Thomassen, Joachim; Yu, Weihai (Chapter; Bokkapittel, 2023-08-31)
      Distributed systems have to live with weak consistency, such as eventual consistency, if high availability is the primary goal and network partitioning is unexceptional. Local-first applications are examples of such systems. There is currently work on local-first databases where the data are asynchronously replicated on multiple devices and the replicas can be locally updated even when the devices ...
    • A Generic Undo Support for State-Based CRDTs 

      Yu, Weihai; Elvinger, Victorien; Ignat, Claudia-Lavinia (Chapter; Bokkapittel, 2020-02-11)
      CRDTs (Conflict-free Replicated Data Types) have properties desirable for large-scale distributed systems with variable network latency or transient partitions. With CRDT, data are always available for local updates and data states converge when the replicas have incorporated the same updates. Undo is useful for correcting human mistakes and for restoring system-wide invariant violated due to long ...
    • A low-cost set CRDT based on causal lengths 

      Yu, Weihai; Rostad, Sigbjørn (Chapter; Bokkapittel, 2020-04)
      CRDTs, or Conflict-free Replicated Data Types, are data abstractions that guarantee convergence for replicated data. Set is one of the most fundamental and widely used data types. Existing general-purpose set CRDTs associate every element in the set with causal contexts as meta data. Manipulation of causal contexts can be complicated and costly. We present a new set CRDT, CLSet (causal-length set), ...